require.config({
	shim:{},
    paths : {
        "jquery":"lib/jquery",
        "cmd":"cmd",
    }
});

require(['jquery','cmd'],function($){
var token = detectToken();

//===code here 1
    // 百度地图API功能
    var map = new BMap.Map("allmap");
    var point = new BMap.Point(116.417854,39.921988);
    map.centerAndZoom(point, 8);
    map.enableScrollWheelZoom(true);//滚轮缩放

    // 编写自定义函数,创建标注
    function addAllMarker(point,device){

        var marker = new BMap.Marker(point);  // 创建标注
        map.addOverlay(marker);             // 将标注添加到地图中

        //编写信息框内容
        var content =
            '<div class="BMap_con">' +
            '<p><span>控制器编号：</span><span>'+ device.dtu_id +'</span></p>' +
            '<p><span style="display:inline-block;">客户名称：</span><span>'+ device.customer_name +'</span></p>' +
            '<p><span>SIM卡号：</span><span>'+ device.sim_no +'</span></p>' +
            '<p><span>是否在线：</span><span style="color:#596679; font-weight:bold;">'+(device.is_connected==1?'在线':'离线') +'</span></p>' +
            '</div>' +
            '<div class="BMap_btn">' +
            '<a href="machineDetails.html?dtu_id=' + device.dtu_id + '">查看参数</a>' +
            '</div>';

        addClickHandler(content,marker,point,device);//调用标注点击事件
    }

    var opts = {
        width : 340,     // 信息窗口宽度
        title : "<span style=''>设备信息</span>" , // 信息窗口标题
        enableMessage:true//设置允许信息窗发送短息
    };

    //编写标注点击事件
    function addClickHandler(content,marker,point,device){
        var infoWindow = new BMap.InfoWindow(content,opts);  // 创建信息窗口对象
        marker.addEventListener("click", function(){//标注点击时，开启信息窗口
            map.openInfoWindow(infoWindow,point);
            $.post(urls.deviceMapPermit,{token:token,dtu_id:device.dtu_id},function(data){
                if(data.code == 1) {
                    $('.BMap_btn a').show();
                }else {
                    $('.BMap_btn a').hide();
                }
            },'json')
        });
    }

    // 编写自定义函数,创建信息窗口
    function setMarker(device) {

        var point = new BMap.Point(device.dtu_lng,device.dtu_lat);
        map.clearOverlays();//清除所有信息窗口
        map.centerAndZoom(point, 15);

        addAllMarker(point,device);
    }

//===code here 2

    $(function(){
        var devices = [];

        var $all = $('#all');
        var $online = $('#online');
        var $offline = $('#offline');

        //编写自定义函数
        function addLi(data){
            //获取all,online,offline的个数分别写入all-btn,online-btn,offline-btn中
            var $allNum = $('#allNum');
            var $onlineNum = $('#onlineNum');
            var $offlineNum = $('#offlineNum');

            $allNum.text('(' + data.data.total + ')');
            $onlineNum.text('(' + data.data.online + ')');
            $offlineNum.text('(' + data.data.offline + ')');

            devices = data.data.devices;

            var allLi = '';
            var onlineLi = '';
            var offlineLi = '';
            for(var i=0; i < devices.length  ;i++){
                var clazz = devices[i].is_connected == 0 ? 'offline' :'online';
                var li = '<li id="' + i + '" class="device-searching-item ' + clazz + '">'+
                    '<a href="javascript:;">'+
                    '<span class="listicon"></span>'+
                    '<span class="device-number fl">'+ devices[i].dtu_id +'</span>'+
                    '<span class="customer-name fl" >'+devices[i].customer_name +'</span>'+
                    '</a>'+
                    '</li>';
                if(devices[i].is_connected == 0){
                    offlineLi += li;
                }else{
                    onlineLi += li;
                }
                allLi += li;
            }
            $all.append(allLi);//#all插入列表内容---所有
            $online.append(onlineLi);//#online插入列表内容---在线
            $offline.append(offlineLi);//#offline插入列表内容---离线

            //在地图上显示所有的标注
            for(var i = 0; i< devices.length; i++){
                var point = new BMap.Point(devices[i].dtu_lng,devices[i].dtu_lat);
                addAllMarker(point,devices[i]);
            }

            //点击列表的li，
            $('.device-searching-item').click(function(){
                var $this = $(this);
                var index = parseInt($this.attr('id'));
                $this.addClass('active').siblings().removeClass('active');
                setMarker(devices[index]);
            });
            $(".device-searching-tab li").on("click",function(){
                var i_key = $(this).index();
                $(".device-searching-list").eq(i_key).show().siblings(".device-searching-list").hide();
            })
        }

        //加载页面时查询所有客户并写入all列表中
        function query(token){
            $.post(urls.deviceMap,{token:token},function(data){

                if(data.code == '1'){
                    //console.log(data.data.devices.length);
                    console.log(data);
                    addLi(data);

                }else{
                    alert(data.msg);
                }

            }, 'json');
        }

        query(token);

        //点击搜索展示所有相关关键字内容
        $('.search-icon').click(function(){
            var keyWords = $('#search-input').val();
            //console.log(keyWords);
            $.post(urls.deviceMap,{token:token,name:keyWords},function(data){
                if(data.code == '1'){
//                    console.log(data.data.devices.length);
                    console.log(data);

                    //清除加载页面时展示在列表中的内容
                    $all.empty();//#all插入列表内容
                    $online.empty();//#online插入列表内容
                    $offline.empty();//#offline插入列表内容

                    //在地图上显示所有的标注
                    for(var i = 0; i< devices.length; i++){
                        var point = new BMap.Point(devices[i].dtu_lng,devices[i].dtu_lat);
                        var marker = new BMap.Marker(point);
                    }
                    map.clearOverlays(marker);//清除刷新页面时已经标记的所有标记点
                    addLi(data);

                }else{
                    alert(data.msg);
                }
            },'json');
        })

    })


//code here 3


        // ==========面包屑点击效果==========
        $('.top-list li').click(function() {
            $(this).addClass('active').siblings().removeClass('active');
        });

        //tab栏切换
        $('.device-searching-tab li').click(function(){
            $(this).addClass('active').siblings().removeClass('active');

        });

        //点击关闭按钮和展开按钮，设备搜索容器收起和展开
        $('.close-btn').click(function(){
            $('.device-searching-container').animate({'left': '-326px'},300)
        });
        $('.pickupBtn').click(function(){
            $('.device-searching-container').animate({'left': '6px'},300)
        });

        getOnelayerMenu();
        getTwolayerMenu(101);
        $(".mianshowbpt-r a").eq(1).addClass("cur");

        //个人中心下拉
        $("#showmyAccountMenu").toggle(
            function(){$("#toggleshowmenu").show();},
            function(){$("#toggleshowmenu").hide();}
        );


//req.js end
})